package com.rayson.yututu.model.vo.spaceUser;

import com.rayson.yututu.model.entity.SpaceUser;
import com.rayson.yututu.model.vo.SpaceVO;
import com.rayson.yututu.model.vo.UserVO;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 * 空间成员表
 *
 * @author wulei
 */
@Data
public class SpaceUserVO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    private String id;
    /**
     * 空间id
     */
    private String spaceId;
    /**
     * 用户id
     */
    private String userId;
    /**
     * 空间角色:viewer/editor/admin
     */
    private String spaceRole;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 用户信息
     */
    private UserVO userVO;

    /**
     * 空间信息
     */
    private SpaceVO spaceVO;


    public static SpaceUser voToEntity(SpaceUserVO spaceUserVO) {
        if (Objects.isNull(spaceUserVO)) {
            return null;
        }
        SpaceUser spaceUser = new SpaceUser();
        BeanUtils.copyProperties(spaceUserVO, spaceUser);
        return spaceUser;
    }

    public static SpaceUserVO objToVO(SpaceUser spaceUser) {
        if (Objects.isNull(spaceUser)) {
            return null;
        }
        SpaceUserVO spaceUserVO = new SpaceUserVO();
        BeanUtils.copyProperties(spaceUser, spaceUserVO);
        return spaceUserVO;
    }

}